package com.cashmama.market.api.application.controller.user.response;

import com.cashmama.market.api.domain.vo.user.CheckInDescriptionVO;
import com.cashmama.market.api.domain.vo.user.SchemeTipsVO;
import com.cashmama.market.api.domain.vo.user.UserCheckIn;
import com.cashmama.market.api.domain.vo.user.WeeklyCheckInVO;
import com.cashmama.market.api.infras.handler.ResponseData;

import java.util.List;

/**
 * @program: market-api
 * @description
 * @author: frank
 * @create: 2020-04-15 15:08
 **/
public class UserCheckInResponse implements ResponseData {
    /**
     * 总领取金额
     */
    private String totalAmount;
    /**
     * 按钮文案
     */
    private String buttonText;
    /**
     * 按钮是否可点击
     */
    private Boolean enabledClick;
    /**
     * 当前图片类型
     */
    private Integer imgType = 0;
    /**
     * 签到顶部提示语列表
     */
    private List<SchemeTipsVO> scrollingTips;
    /**
     * 签到星期列表
     */
    private List<WeeklyCheckInVO> weeklyCheckInList;
    /**
     * 签到描述语
     */
    private CheckInDescriptionVO middleDescription;
    /**
     * 签到描述语
     */
    private CheckInDescriptionVO bottomDescription;

    public UserCheckInResponse(UserCheckIn userCheckIn) {
        this.imgType = userCheckIn.getImgType();
        this.totalAmount = userCheckIn.getTotalAmount();
        this.buttonText = userCheckIn.getButtonText();
        this.enabledClick = userCheckIn.getEnabledClick();
        this.scrollingTips = userCheckIn.getScrollingTips();
        this.weeklyCheckInList = userCheckIn.getWeeklyCheckInList();
        this.middleDescription = userCheckIn.getMiddleDescription();
        this.bottomDescription = userCheckIn.getBottomDescription();
    }

    public String getTotalAmount() {
        return totalAmount;
    }

    public UserCheckInResponse setTotalAmount(String totalAmount) {
        this.totalAmount = totalAmount;
        return this;
    }

    public String getButtonText() {
        return buttonText;
    }

    public UserCheckInResponse setButtonText(String buttonText) {
        this.buttonText = buttonText;
        return this;
    }

    public Boolean getEnabledClick() {
        return enabledClick;
    }

    public UserCheckInResponse setEnabledClick(Boolean enabledClick) {
        this.enabledClick = enabledClick;
        return this;
    }

    public Integer getImgType() {
        return imgType;
    }

    public UserCheckInResponse setImgType(Integer imgType) {
        this.imgType = imgType;
        return this;
    }

    public List<SchemeTipsVO> getScrollingTips() {
        return scrollingTips;
    }

    public UserCheckInResponse setScrollingTips(List<SchemeTipsVO> scrollingTips) {
        this.scrollingTips = scrollingTips;
        return this;
    }

    public List<WeeklyCheckInVO> getWeeklyCheckInList() {
        return weeklyCheckInList;
    }

    public UserCheckInResponse setWeeklyCheckInList(List<WeeklyCheckInVO> weeklyCheckInList) {
        this.weeklyCheckInList = weeklyCheckInList;
        return this;
    }

    public CheckInDescriptionVO getMiddleDescription() {
        return middleDescription;
    }

    public UserCheckInResponse setMiddleDescription(CheckInDescriptionVO middleDescription) {
        this.middleDescription = middleDescription;
        return this;
    }

    public CheckInDescriptionVO getBottomDescription() {
        return bottomDescription;
    }

    public UserCheckInResponse setBottomDescription(CheckInDescriptionVO bottomDescription) {
        this.bottomDescription = bottomDescription;
        return this;
    }
}
